#ifndef TSMC_H
#define TSMC_H
#include <Windows.h>
#include <string>

using namespace std;
extern "C"
{
	void _declspec(dllexport) startProcess(int mode,int debugFalg, const char* szResultsFolder, BOOL (*tsmcCallback)(const char*, const char*, const char*, const char*, int, int, int, int, BOOL));
	void _declspec(dllexport) addLayer(const char* szLayerFolder, const char* szLayerINI);
	void _declspec(dllexport) addLayerLot(const char* szLayerFolder, const char* szLayerINI, const char* szLotFolder);
	void _declspec(dllexport) addSet(const char* szLayerFolder, const char* szLayerINI, const char* szSetFolder);
	void _declspec(dllexport) deleteFinishedLayer();
	void _declspec(dllexport) waitForFinish();
	void _declspec(dllexport) startProcessEx(int mode,int debugFalg, const char* szResultsFolder, const char* szInspectionPath, const char* szMarcoLogPath, BOOL (*tsmcCallback)(const char*, const char*, const char*, const char*, int, int, int, int, BOOL), bool IsInfoProduct);
	void _declspec(dllexport) startSingleImageProcess(int debugFlag, const char* szResultsFolder, const char* szGoldenImage, const char* szSampleImage, const char* szIni);

};
#endif /*TSMC_H*/